iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0

上上篇已經寫了一個Flask API的Hello World,
現在我們的Flask API要開始串接永豐證券API的方法。

(1)第一步驟是匯入我們要用的庫,
值得注意的是我這次會用到json作為API傳輸資料的格式

import flask
from flask import jsonify
import shioaji as sj
from shioaji.data import Ticks 
import json5

(2)撰寫Flask API內容,
app.route先設定方法路徑,
一樣老方法登入我們的永豐API去取得最後五筆Ticks的資料,
而Ticks裡面有很多個list,我們以成交價close作範例,
我們取得tick中的close list,
用json5.dumps的方法將list轉成json string並回傳

@app.route('/testdata', methods=['GET'])
def test_tick():
    api = sj.Shioaji(simulation=True)

    api.login(
        person_id="PAPIUSER01", 
        passwd="2222",
        contracts_cb=lambda security_type: print(f"{repr(security_type)} fetch done.")
    )

    tick = api.ticks(
    contract=api.Contracts.Stocks["2330"], 
    date="2021-09-17",
    query_type=sj.constant.TicksQueryType.LastCount,
    last_cnt=5
    )

    return json5.dumps(tick['close'])

app.run()

(3)呼叫該url結果如下
https://ithelp.ithome.com.tw/upload/images/20210929/20107848yNFDVV8st3.jpg

這樣就代表成功了,
之後我們的流程就是用client端的專案呼叫這些Flask API,
再進行資料視覺化。


上一篇
視覺化平台規劃
下一篇
常用工具介紹(1)-postman、ngrok
系列文
視覺化跨平台Client與永豐金融證券APIs30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言